package response

import (
	"github.com/gofiber/fiber/v2"
)

// 响应模版，
// status : 响应状态, 调用fiber.StatusXXX,
// code   : 0 表示失败 1 表示成功，
// data   : 任意值，
// msg    : 失败时返回的消息
func Response(c *fiber.Ctx, status int, code int, data interface{}, msg string) error {
	return c.Status(status).JSON(fiber.Map{
		"code": code,
		"data": data,
		"msg":  msg,
	})
}

// 标准成功响应
func Success(c *fiber.Ctx, data interface{}) error {
	return Response(c, fiber.StatusOK, 1, data, "")
}

// 标准失败响应
func Fail(c *fiber.Ctx, msg string) error {
	return Response(c, fiber.StatusOK, 0, nil, msg)
}
